#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *file, *log_file;
    char buffer[100];

    // 打开 test_file.txt 进行读取
    file = fopen("test_file.txt", "r");
    if (file == NULL) {
        printf("无法打开文件 test_file.txt 进行读取。\n");
        return 1;
    }

    // 打开日志文件 test.log 进行追加（如果没有该文件则创建）
    log_file = fopen("test.log", "a");
    if (log_file == NULL) {
        printf("无法打开日志文件 test.log 进行写入。\n");
        fclose(file);
        return 1;
    }

    // 读取 test_file.txt 文件内容并打印到终端和日志文件
    printf("读取文件内容:\n");
    fprintf(log_file, "文件内容:\n");
    while (fgets(buffer, sizeof(buffer), file) != NULL) {
        printf("%s", buffer);      // 打印到终端
        fprintf(log_file, "%s", buffer); // 打印到日志文件
    }

    // 关闭读取文件
    fclose(file);

    // 以写入模式打开 test_file.txt，清空文件内容并写入 "hello rebot"
    file = fopen("test_file.txt", "w");
    if (file == NULL) {
        printf("无法打开文件 test_file.txt 进行写入。\n");
        fclose(log_file);
        return 1;
    }

    // 写入 "hello rebot" 到 test_file.txt
    fprintf(file, "hello rebot\n");

    // 同时在终端和日志文件中输出
    printf("\n已写入 'hello rebot' 到 test_file.txt 文件。\n");
    fprintf(log_file, "\n已写入 'hello rebot' 到 test_file.txt 文件。\n");

    // 关闭文件
    fclose(file);
    fclose(log_file);

    return 0;
}

